package com.pachong.demo;

import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 富友开户
 */
@Data
public class CtaAccountReqVoOld {
	

	@NotBlank(message = "第三方类型不能为空!")
	@Size(max=3,message="第三方类型字符长度必须小于{max}位。")
	private String ThirdType;


	private Long id;//TODO id插入的时间自动生成

//	@NotBlank(message = "业务流水号不能为空!")
//	@Size(max=25,message="业务流水字符长度必须小于{max}位。")
//    private String bizFlow; TODO 请求流水号 总请求有 D

//	private String requestIp; TODO 请求IP D
    /*
     * 是否同异步
     */
//	@Size(max=1,message="同异步请求字符长度必须小于{max}位。")
//    private String isSync; TODO	不需要同步
    /*
     * 通知地址
     */
//	@Size(max=128,message="通知地址字符长度必须小于{max}位。")
//    private String notifyAdd; TODO	不需要地址 D

    /*
     * 客户名  todo  如果单独开通富友账户需要,若共同开户可以删除
     */
	@NotBlank(message = "客户姓名不能为空!")
	@Size(max=64,message="客户姓名字符长度必须小于{max}位。")
    private String custName;
    /*
     * 客户编号 todo  如果单独开通富友账户需要,若共同开户可以删除
     */
	@NotBlank(message = "客户编号不能为空!")
	@Size(max=30,message="客户编号字符长度必须小于{max}位。")
    private String custNo;

	/*
	 * 客户类型1个人2做市商3合作方 todo  如果单独开通富友账户需要,若共同开户可以删除
	 */
	@NotBlank(message = "客户类型不能为空!")
	@Size(max=3,message="客户类型字符长度必须小于{max}位。")
	private String custType;

    /*
     * 证件号码  todo  如果单独开通富友账户需要,若共同开户可以删除
     */
	@NotBlank(message = "证件号码不能为空!")
    private String idNo;	
    /*
     * 证件类型 todo  如果单独开通富友账户需要,若共同开户可以删除
     */
	@NotBlank(message = "证件类型不能为空!")
	@Size(max=2,message="证件类型字符长度必须小于{max}位。")
    private String idType;
    /*
     * 手机号 todo  银行开户保存的手机号码
     */
	@NotBlank(message = "手机号不能为空!")
    private String mobile;
    /*
     * 账户类型， 1：p2p，2：基金 TODO 需要
     */
	@NotBlank(message = "账户类型不能为空!")
	@Size(max=3,message="账户类型字符长度必须小于{max}位。")
    private String acctType;
    /*
     * 银行编码 TODO 重要 需要统一银行卡编码 在请求记录表中转换成对应渠道的编码
     */
	@NotBlank(message = "银行编码不能为空!")
	@Size(max=8,message="银行编码字符长度必须小于{max}位。")
    private String bankCode;
    /*
     * 第三方账号 TODO  并不需要 富友开户需要保存手机号码(银行卡手机号码) D
     */
	@Size(max=60,message="第三方账号字符长度必须小于{max}位。")
    private String thirdAccount;
    /*
     * 绑定银行卡号
     */
	@NotBlank(message = "银行卡号不能为空!")
    private String cardNumber;
    /*
     * 清算行行号 TODO 账户表中不存在此字段
     */
//	@Size(max=16,message="清算行行号字符长度必须小于{max}位。")
//    private String liqBankCode;
    /*
     * 地区编码
     */
	@NotBlank(message = "地区编码不能为空!")
	@Size(max=8,message="地区编码字符长度必须小于{max}位。")
    private String areaCode;
    /*
     * 是否对接第三方 TODO 数据库中account表中并没有这个字段 是请求记录表中的字段 后来并没有使用
     */
//	@Size(max=1,message="是否对接第三方字符长度必须小于{max}位。")
//	private String isInvokeThd;

	/*
	 * 邮箱 TODO  如果单独开通富友账户需要,若共同开户可以删除 d
	 */
	@Size(max=128,message="邮件字符长度必须小于{max}位。")
	private String email;


	/*
     * 创建人 TODO 操作人 D
     */
	@Size(max=32,message="操作员字符长度必须小于{max}位。")
    private String creater;
    /*
     * 创建日期 TODO  操作时间 D
     */
    
    private Date createTime;
    /*
     * 最后修改日期 TODO 修改时间  D
     */
    private Date updateTime;
    /*
     * 备注
     */
    private String remark;
    /*
     * 操作状态 TODO  开户请求表中保存 生产很多为零 按理说这个字段是 CTA自己开户请求情况的记录
     */
    private String status;
    /*
     * 响应码 TODO  开户请求表中保存返回CODE  应该保存富友返回的code
     */
    private String respCode;
    
    /**
     * 第三方类型的分类 TODO 并没有什么用
     */
    private String thirdTypeStatus;


}
